#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django import forms

from web import models
from web.forms.bootstrap import BootStrapForm


class WikiModelForm(BootStrapForm, forms.ModelForm):
    class Meta:
        model = models.Wiki
        # 一个是深度，一个是项目id肯定是不需要给到前端展示的
        exclude = ['project', 'depth']

    def __init__(self, request, *args, **kwargs):
        instance = kwargs.get('instance')
        data = kwargs.get('data')
        super().__init__(*args, **kwargs)
        self.instance = instance
        self.data = data
        # 找到想要的字段把他绑定显示的数据重置
        # 数据 = 去数据库中获取 当前项目所有的wiki标题

        # 如果你不选，默认请选择对应的就是空
        total_data_list = [("", "请选择"),]
        # 条件为只有你自己能编辑的文章(中间件中封装好的project对象，自己的加上自己参与的)
        data_list = models.Wiki.objects.filter(project=request.tracer.project).values_list('id', 'title')
        # print(data_list)   # <QuerySet [(17, '为了梦想拼尽全力又何妨')]>
        total_data_list.extend(data_list)
        # 把用户对“父文章”的选择给到parent字段
        self.fields['parent'].choices = total_data_list
